Horizontal decomposition of Prevayler
نویسندگان
چکیده
Aspect-Oriented Programming (AOP) is an emerging paradigm to modularize crosscutting concerns. A series of guidelines to refactor a software system into a common core and a set of variable functionalities have become known as Horizontal Decomposition (HD). In this paper we apply the HD principles to the Prevayler main memory database management system. The objective is to evaluate and refine these principles and to extract patterns of their use through a case study on a popular open-source software system. Our evaluation shows that HD reveals six crosscutting functionalities. The refactoring of these concerns yield 36 different configurations of the Prevayler system which were previously not possible. The refactoring also reduces the core Prevayler code size by 53%, demonstrates a decrease of coupling between core functionality components by 43%, and reduces the lack of cohesion of the core system by 71%. Given the heterogeneous nature of crosscutting displayed in Prevayler, the size and separation of concern metrics have not reduced for the overall refactored system, i.e., for the core composed with the aspects. A posterior analysis of the re-engineering process reveals 22 refactoring patterns that could be readily used by an automatic aspect refactoring tool.
منابع مشابه
Noise Effects on Modal Parameters Extraction of Horizontal Tailplane by Singular Value Decomposition Method Based on Output Only Modal Analysis
According to the great importance of safety in aerospace industries, identification of dynamic parameters of related equipment by experimental tests in operating conditions has been in focus. Due to the existence of noise sources in these conditions the probability of fault occurrence may increases. This study investigates the effects of noise in the process of modal parameters identification b...
متن کاملColoração Automática de Variabilidades em Linhas de Produtos de Software
This paper details an algorithm that automatically annotates blocks of code associated to variabilities in software product lines. The proposed algorithm is based on a tool to implement variabilities called CIDE (Colored IDE). CIDE enhances standard IDE with the ability to associate colors to lines of code in charge of implementing variabilities. Furthermore, the tool supports the generation of...
متن کاملHorizontal representation of a hesitant fuzzy set and its application to multiple attribute decision making
The main aim of this paper is to present a novel method for ranking hesitant fuzzy sets (HFSs) based on transforming HFSs into fuzzy sets (FSs). The idea behind the method is an interesting HFS decomposition which is referred here to as the horizontal representation in the current study. To show the validity of the proposed ranking method, we apply it to solve a multi-attribute decision-making ...
متن کاملIntegration Scheme for SINS/GPS System Based on Vertical Channel Decomposition and In-Motion Alignment
Accurate alignment and vertical channel instability play an important role in the strap-down inertial navigation system (SINS), especially in the case that precise navigation has to be achieved over long periods of time. Due to poor initialization as well as the cumulative errors of low-cost inertial measurement units (IMUs), initial alignment is not sufficient to achieve required navigation ac...
متن کاملFault Strike Detection Using Satellite Gravity Data Decomposition by Discrete Wavelets: A Case Study from Iran
Estimating the gravity anomaly causative bodies boundary can facilitate the gravity field interpretation. In this paper, 2D discrete wavelet transform (DWT) is employed as a method to delineate the boundary of the gravity anomaly sources. Hence, the GRACE’ satellite gravity data is decomposed using DWT. DWT decomposites a single approximation coefficients into four distinct components: the appr...
متن کامل